// 连接数据库
const sqlite3 = require('sqlite3').verbose();
const path = require('path');
const Genid = require('../utils/SnowFlake');

// 创建连接数据库
const db = new sqlite3.Database(path.join(__dirname, 'blog.db'))
// 生成雪花id
const genid = new Genid({ WorkerId: 1 })

// 数据库异步查询
db.async = {}

db.async.all = (sql, params) => {
    return new Promise((resolve, reject) => {
        db.all(sql, params, (err, rows) => {
            if (err) {
                reject(err); // 如果有错误，调用reject
            } else {
                resolve(rows); // 如果没有错误，调用resolve并传递结果
            }
        })
    })
}
db.async.run = (sql, params) => {
    return new Promise((resolve, reject) => {
        db.run(sql, params, (err, rows) => {
            if (err) {
                reject(err); // 如果有错误，调用reject
            } else {
                resolve(rows); // 如果没有错误，调用resolve并传递结果
            }
        })
    })
}

module.exports = { db, genid }